1. МЕТКА «JLabel» 

 

Функциональность компонента JLabel сводится к отображению на форме не редактируемой текстовой строки, т.е. надписи. 

п/п

Свойство

Назначение

1.

text

Текст метки

2.

foreground

Цвет текста

3.

background

Цвет фона

4.

font

Шрифт текста

5.

horizontalTextPosition

Выравнивание текста по горизонтали

6.

icon

Картинка (jpeg, gif, png) или ссылка из сети

7.

opaque

Непрозрачность фона

8.

border

Рамка

9.

componentPopupMenu

Привязка компонента всплывающего меню

10.

cursor

Вид курсора над компонентом

11.

disabledIcon

Картинка компонента при недоступности компонента

12.

enabled

Доступность компонента

13.

horizontalAlignment

Выравнивание текста и картинки по горизонтали

14.

iconTextGap

Отступ между картинкой и текстом

15.

toolTipText

Всплывающая подсказка над компонентом

16.

verticalAlignment

Выравнивание текста и картинки по вертикали

17.

verticalTextPosition

Выравнивание текста по вертикали

18.

X

Положение X верхнего левого угла

19.

Y

Положение Y верхнего левого угла

20.

Высота

Высота компоненты

21.

Ширина

Ширина компоненты

      В свойстве text можно не только задавать простейший текст, но и задавать его в виде html-текста, например: 

<html>

<h1>Большой текст</h1>

<h2>Небольшой текст</h2>

<h3>Поменьше текст</h3>

<b>Жирная надпись</b><br>

<strong>Очень важный текст</strong><br>

<kbd>Стиль печатной машинки</kbd><br>

<cite>Курсив</cite><br>

<font color="224956">Цветная строка  (цвет формата  RRGGBB</font>)<br>

<hr>

<cite>Цитата</cite><br>

<address>Цитата в цвете</address><br>

<p align="center"><font size="7">Гиганский текст</font><br></p>

<p align="center">Текст по-центру</p>

<p align="right">Текст справа</p>

<br>

<p align="left">Текст слева</p>

<li>пункт 1<br>

<li>пункт 2<br>

</html>

 В результате присвоения свойству text данного кода метка станет отображать следующее:

2. ПОЛЕ ДЛЯ ВВОДА ТЕКСТА «JTextField»

Компонент JTextField представляет собой реализацию однострочной области для ввода/вывода текста.

п/п

Свойство

Назначение

1.

text

Текст в компоненте

2.

editable

Разрешение редактировать текст

3.

font

Шрифт текста

4.

foreground

Цвет текста

5.

background

Цвет фона

6.

horizontalAlignment

Выравнивание текста по горизонтали

7.

opaque

Непрозрачность фона

8.

border

Рамка

9.

componentPopupMenu

Привязка компонента всплывающего меню

10.

caretColor

Цвет курсора

11.

cursor

Вид курсора

12.

disabledTextColor

Цвет текста при недоступности компонента

13.

enabled

Доступность компонента

14.

focusable

Разрешение фокуса ввода/работы с текстом

15.

selectedText

Выделенный текст

16.

selectedTextColor

Цвет выделенного текста

17.

selectionColor

Цвет фона выделенного текста

18.

selectionEnd

Конечная позиция выделения текста

19.

selectionStart

Начальная позиция выделения текста

20.

toolTipText

Всплывающая подсказка над компонентом

21.

Высота

Высота компонента

22.

Ширина

Ширина компонента

 

п/п

Методы

Назначение

1.

getText()

получить текст

2.

copy()

копирует выделенный текст в системный буфер обмена

3.

cut()

удаляет выделенный текст и копирует его в системный буфер обмена

4.

paste()

вставить содержимое системного буфера обмена

5.

selectAll()

выделить весь текст

6.

getText(int offs, int len)

получить часть текста

7.

setText(String t)

установить новый текст

8.

replaceSelection(String content)

заменить выделение указанным текстом

9.

getSelectedText()

получить выделенный текст

10.

getSelectionEnd()

позиция конца выделенного текста

11.

getSelectionStart()

позиция начала выделенного текста

12.

select(int selStart, int selEnd)

выделить часть текста

2. 1. Примеры работы с JTextField

private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {

// Нажатие клавиши "Enter"

int key = evt.getKeyCode(); // Получаем код нажатой клавиши

if (key == KeyEvent.VK_ENTER) { // Если нажата, клавиша "Enter", то

// jButton1.requestFocus(); // Установить фокус на кнопку jButton1

jButton1ActionPerformed(null); // Вызвать обработчик нажатия на кнопку jButton1

}

}

3. МНОГОСТРОЧНОЕ ПОЛЕ
ДЛЯ ВВОДА/ВЫВОДА ТЕКСТА «
JTextArea»

Компонент JTextArea служит для ввода/вывода многострочных данных.

п/п

Свойство

Назначение

1.

text

Текстовое содержимое компонента

2.

editable

Разрешение редактирования текста в компоненте

3.

enabled

Доступность компонента

4.

lineWrap

Автоматически переносить длинный текст на новые строки (true – перенос включен)

5.

wrapStyleWord

При включенном режиме «lineWrap» разрешение или запрет на разрыв слов при переносе (true – не разрывать слова)

6.

tabSize

Размер отступа при нажатии клавиши «Tab» при вводе текста в компонент

7.

font

Шрифт текста списка

8.

foreground

Цвет текста списка

9.

background

Цвет фона списка

10.

selectedTextColor

Цвет выделенного текста

11.

selectionColor

Цвет фона выделенного текста

12.

disabledTextColor

Цвет текста при включенной недоступности компонента (enabled=false)

13.

caretColor

Цвет курсора

14.

opaque

Непрозрачность фона

15.

border

Дополнительная рамка у компонента

16.

cursor

Вид курсора

17.

focusable

Разрешение фокуса ввода с клавиатуры

18.

toolTipText

Всплывающая подсказка

19.

componentPopupMenu

Привязка компонента всплывающего меню

 

п/п

Методы

Назначение

1.

setText

Установка текста в компоненте

2.

getText

Получение подстроки

3.

selectAll

Выделить весь текст

4.

setText("")

Удалить весь текст в компоненте

5.

copy

Скопировать выделение в буфер обмена

6.

cut

Вырезать выделенный текст в буфер обмена

7.

paste

Вставить из буфера обмена текст

8.

append

Добавить новую строку текста в конец

9.

getSelectedText

Получить выделенный текст

10.

replaceRange

Замена фрагмента текста на новый текст

11.

replaceSelection

Замена выделенного фрагмента текста на новый текст

12.

insert

Вставляет новый текст в указанное место имеющегося текста

13.

getLineCount

Получить количество строк

14.

getCaretPosition

Получить позицию курсора

15.

getLineOfOffset

Получить номер строки, где находится курсор

16.

getLineStartOffset

Определение начала строки

17.

getLineEndOffset

Определение конца строки

ПРИМЕЧАНИЕ. При добавлении на форму компонента JTextArea предварительно автоматически вставляется компонент JScrollPane, и уже в него вставляется  JTextArea. Это дает компоненту JTextArea возможность горизонтальной и вертикальной прокрутки. Свойства «X», «Y», «Ширина», «Высота» перенесены в компонент JTextArea.

3.1. Примеры работы с JTextArea

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Простейшая работа с JTextArea

jTextArea1.setText("Все работает!!!"); // Выдача текста

jTextArea1.selectAll(); // Выделить весь текст

jTextArea1.copy(); // Скопировать выделение в буфер обмена

//jTextArea1.cut(); //Вырезать выделенный текст в буфер обмена

//jTextArea1.paste(); //Вставить из буфера обмена текст

// Получить выделенный текст

jTextField1.setText(jTextArea1.getSelectedText());

jTextArea1.replaceSelection("Да!"); // Заменить выделенный текст

jTextField2.setText(jTextArea1.getText()); // Получить весь текст

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Выбор строки и замена подстроки в JTextArea

try {

// Номер выбранной строки

int line = jTextArea1.getLineOfOffset(jTextArea1.getCaretPosition());

int start = jTextArea1.getLineStartOffset(line); // Номер символа начала выбранной строки

int end = jTextArea1.getLineEndOffset(line);  // Номер символа конца выбранной строки

String s = jTextArea1.getText(start, end - start); // Узнаем текст выбранной строки

jTextField1.setText(s);

jTextArea1.replaceSelection("Yes!"); // Заменяем выделенный текст на значение «Yes!»

} catch (Exception e) { jTextField1.setText("");  }

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Проход по строкам в JTextArea

try {

int line_count = jTextArea1.getLineCount() - 1; // Количество строк

for (int i = 0; i <= line_count; i++) { // Цикл по всем строкам

int start = jTextArea1.getLineStartOffset(i); // Определим начало i-ой строки

int end = jTextArea1.getLineEndOffset(i); // Определим конец i-ой строки

String s = jTextArea1.getText(start, end - start); // Узнаем текст i-ой строки

jTextArea1.replaceRange(Integer.toString(i + 1) + ") " + s, start, end); // Изменим строку

}    } catch (Exception f) { jTextField1.setText("");  }

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Добавление строк в JTextArea

jTextArea1.setText(""); // Удалить весь текст в компоненте

jTextArea1.append("Строка 1\n"); // Добавить значение и перейти на новую строку

jTextArea1.append("Строка 2\n"); // Добавить значение и перейти на новую строку

jTextArea1.append("Строка 3"); // Добавить значение

}

3.1.1. Пример работы с JTextArea и динамическими массивами ArrayList

private void jButton_PazdrActionPerformed(java.awt.event.ActionEvent evt) {

// Нажатие кнопки поздравить

ArrayList<String> pozdr = new ArrayList<>(); // Массив пожеланий

ArrayList<String> fam = new ArrayList<>();   // Массив фамилий

 

jEditorPane_Pozdr.setText(null); // Очищаем область поздравлений

try { // Проверка введенных пользователем пожеланий

for (int i = 0; i < jTextArea_Gel.getLineCount(); i++) {

int end = jTextArea_Gel.getLineEndOffset(i);

int start = jTextArea_Gel.getLineStartOffset(i);

// Проверяем является ли строки пустой ("==" - не работает)

if (jTextArea_Gel.getText(start, end - start).trim().equals("")) { continue; }

// Добавление поздравления в массив

pozdr.add(jTextArea_Gel.getText(start, end - start).trim());

}

} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка чтения пожеланий",

"Ошибка чтения", JOptionPane.ERROR_MESSAGE);

return; // Выход

}

try { // Проверка введенных пользователем фамилий

for (int i = 0; i < jTextArea_Fam.getLineCount(); i++) {

int end = jTextArea_Fam.getLineEndOffset(i);

int start = jTextArea_Fam.getLineStartOffset(i);

// Проверяем является ли строки пустой (== - не работает)

if (jTextArea_Fam.getText(start, end - start).trim().equals("")) { continue; }

fam.add(jTextArea_Fam.getText(start, end - start).trim()); // добавление фамилии в массив

}

} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка чтения фамилий",

"Ошибка чтения", JOptionPane.ERROR_MESSAGE);

return; // Выход

}

// Проверка количества поздравлений

if (fam.size() > pozdr.size()) { // Если фамилий больше чем поздравлений

JOptionPane.showMessageDialog(rootPane, "Пожеланий на всех не хватит! Уменьшите количество фамилий.", "Ошибка ввода", JOptionPane.ERROR_MESSAGE);

return;

}

StringBuilder s = new StringBuilder("<p align=\"center\"><cite><b><font size=\"5\">");

try { // ПОЗДРАВЛЯЕМ !!!

for (int i = 0; i < fam.size(); i++) {

// Генерируем случайное число в диапазоне от 0 до длины массива поздравлений

int p = (int) Math.floor(Math.random() * pozdr.size());

// Генерация поздравления

s.append("Уважаемый <font color=\"990505\">" + fam.get(i)+"</font>"

+ "! Желаем Вам " +

pozdr.get(p).toString().toLowerCase() + "!<br>");  //добавляем символ перехода на новую строку

pozdr.remove(p); // Удаляем элемент с индексом р из массива поздравлений

}

} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка генерации поздравления",

"Ошибка чтения", JOptionPane.ERROR_MESSAGE);

}

s.append("<br>");

jEditorPane_Pozdr.setText(s.toString());

}

4. ПАНЕЛЬ РЕДАКТОРА ТЕКСТА «JEditorPane»

Компонент JEditorPane служит для ввода/вывода многострочных данных с возможностью сложного оформления  и разбивки текста. Компонент поддерживает отображение обычного текста, текста формата html, rtf, а также web-станиц с локальных и удаленных ресурсов.

п/п

Свойство

Назначение

1.

contentType

Режим работы компонента с текстом:

«text/plain» - обычный текст (по-умолчанию);

«text/html» - расширенное оформление текста формата «html»;

«text/rtf» - расширенное оформление текста формата «rtf».

Примечание:  Для корректного отображения русских букв rtf-файл должен быть сохранен в LibreOffice или Google document, т.е. файлы, сохраненные MS Office, открываются с некорректным отображением русских букв!

2.

text

Текстовое содержимое компонента

3.

editable

Разрешение редактирования текста в компоненте

4.

font

Шрифт текста списка

5.

foreground

Цвет текста списка

6.

background

Цвет фона списка

7.

enabled

Доступность компонента

8.

border

Дополнительная рамка у компонента

9.

toolTipText

Всплывающая подсказка

10.

selectedTextColor

Цвет выделенного текста

11.

selectionColor

Цвет фона выделенного текста

12.

disabledTextColor

Цвет текста при включенной недоступности компонента (enabled=false)

13.

caretColor

Цвет курсора

14.

opaque

Непрозрачность фона

15.

cursor

Вид курсора

16.

focusable

Разрешение фокуса ввода с клавиатуры

17.

componentPopupMenu

Привязка компонента всплывающего меню

 

п/п

Методы

Назначение

1.

setText

Установить текст в компоненте

2.

selectAll

Выделить весь текст

3.

copy

Скопировать выделение в буфер обмена

4.

cut

Вырезать выделенный текст в буфер обмена

5.

paste

Вставить из буфера обмена текст

6.

getSelectedText

Получить выделенный текст

7.

replaceSelection

Заменить выделенный текст

8.

getText

Получить весь текст

9.

setContentType

Установить формат текста:

«text/plain» - обычный текст (по-умолчанию);

«text/html» - расширенное оформление текста формата «html»;

«text/rtf» - расширенное оформление текста формата «rtf».

10.

setPage

Установка адреса/имени файла для отображения информации

11.

setEditable

Установка/запрет режима редактирования текста

ПРИМЕЧАНИЕ. При добавлении на форму компонента JEditorPane предварительно автоматически вставляется компонент JScrollPane, и уже в него вставляется  JEditorPane. Это дает компоненту JEditorPane возможность горизонтальной и вертикальной прокрутки. Свойства «X», «Y», «Ширина», «Высота» перенесены в компонент JEditorPane.

4.1. Режим сложного оформления текста (contentType = text/html) в JEditorPane

При режиме  contentType = text/html в свойстве text можно задавать не просто обычный текст, но и текст  в виде html, например:

 

<html>

<head>

</head>

<body>

<p style="margin-top: 0">

<h1>Большой текст</h1>

<h2>Небольшой текст</h2>

<cite>Курсив</cite><br>

<font color="224956">Цветная строка  (цвет формата  RRGGBB</font>)<br>

<hr>

<cite>Цитата</cite><br>

<address>Цитата в цвете</address><br>

</p>

</body>

</html>

 

В результате присвоения свойству text данного кода JEditorPane станет отображать следующее:

 

4.2. Примеры работы с JEditorPane

4.2.1. Выдача текста с обычным оформлением в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Работа с JEditorPane

jEditorPane1.setText("Все работает!!!"); // Выдача текста

jEditorPane1.selectAll(); // Выделить весь текст

jEditorPane1.copy(); // Скопировать выделение в буфер обмена

//jEditorPane1.cut(); Вырезать выделенный текст в буфер обмена

//jEditorPane1.paste(); Вставить из буфера обмена текст

// Получить выделенный текст

jTextField1.setText(jEditorPane1.getSelectedText());

jEditorPane1.replaceSelection("Да!"); // Заменить выделенный текст

jTextField2.setText(jEditorPane1.getText()); // Получить весь текст

}

4.2.2. Выдача текста с html-форматированием в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Работа с JEditorPane

jEditorPane1.setContentType("text/html;Content-Type=windows-1251");

jEditorPane1.setText("<html><body>Все работает!!!</body></html>");

}

 

4.2.3. Выдача текста с расширенным оформлением текста в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Работа с JEditorPane

HTMLDocument hd = new HTMLDocument(); // HTMLDocument

jEditorPane1.setContentType("text/html"); // Режим сложного оформления текста

jEditorPane1.setDocument(hd); // Связывание jEditorPane1 и HTMLDocument

jEditorPane1.setText("Hello World"); // Выдача текста в компонент

MutableAttributeSet attr = new SimpleAttributeSet(); // Атрибуты текста

StyleConstants.setFontFamily(attr, "Arial"); // Установка шрифта

StyleConstants.setBackground(attr, Color.red); // Установка цвета

StyleConstants.setItalic(attr, true); // Установка наклонного стиля текста

hd.setCharacterAttributes(6, 4, attr, false); // Установить атрибуты 4 символам начиная с 6-го

}

4.2.4. Подсветка искомого значения в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Подсветка искомого значения в JEditorPane

// Получение содержимого документа

DefaultStyledDocument doc = (DefaultStyledDocument) jEditorPane1.getDocument();

MutableAttributeSet attr = new SimpleAttributeSet(); // Атрибуты текста

StyleConstants.setBackground(attr, new Color(255, 255, 177)); // Установка цвета

String s2 = jTextField1.getText().toUpperCase(); // Искомый текст большими буквами

String s = null; // Текст документа

int d = s2.length(); // Длина искомого текста

try {

// Получение текста документа большими буквами

s = doc.getText(0, doc.getLength()).toUpperCase();

} catch (BadLocationException ex) {

}

int k = 1, k2 = 0; // Инициализация переменных

while (k > 0) { // Цикл пока находится искомое значение

k = s.indexOf(s2, k2); // Поиск искомого значения в тексте документа

if (k > 0) { // Если поиск успешен, то

// Установка атрибутов тексту документа

doc.setCharacterAttributes(k, d, attr, false);  k2 = k + d;

}

}

}

4.2.5. Выдача текста с html-станицы в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка внешней WEB html-страницы в JEditorPane

jEditorPane1.setContentType("text/html"); // Режим сложного оформления текста

jEditorPane1.setEditable(false); // Запрет на редактирование документа

try { jEditorPane1.setPage("http://www.google.ru"); // Загрузка данных с html-страницы

} catch (Exception e) {  }

}

4.2.6. Загрузка внешней локальной html-страницы в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка внешней локальной html-страницы в JEditorPane

try {

jEditorPane1.setContentType("text/html");// Режим сложного оформления текста

jEditorPane1.setEditable(false); // Запрет на редактирование документа

// Загрузка данных из html-страницы

jEditorPane1.setPage(new File("d:/demo.html").toURI().toURL());

} catch (MalformedURLException ex) {

} catch (IOException ex) {

}

}

4.2.7. Загрузка локальной (из каталога готового jar-файла) html-страницы в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка локальной (из каталога готового jar-файла) html-страницы в JEditorPane

try {

jEditorPane1.setContentType("text/html");// Режим сложного оформления текста

jEditorPane1.setEditable(false); // Запрет на редактирование документа

jEditorPane1.setPage(getClass().getClassLoader().

getResource("mypackage/demo.html").toURI().toURL());// Загрузка данных из html-страницы

} catch (MalformedURLException | URISyntaxException ex) {

} catch (IOException ex) {

}

}

private void jEditorPane1HyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {

// Установка возможности перехода по гипер-ссылкам в JEditorPane

HyperlinkEvent.EventType type = evt.getEventType();

final URL url = evt.getURL();

if (type != HyperlinkEvent.EventType.ENTERED)

if (type == HyperlinkEvent.EventType.ACTIVATED) {

Document doc = jEditorPane1.getDocument();

try { jEditorPane1.setPage(url); }

catch (IOException ioException) { jEditorPane1.setDocument(doc); }

}

}

4.2.8. Выдача текста с rtf-документа в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка с диска rtf-файла в JEditorPane

try {

jEditorPane1.setContentType("text/rtf");// Режим сложного оформления текста

jEditorPane1.setEditable(false); // Запрет на редактирование документа

jEditorPane1.setPage(new File("d:/demo.rtf").toURI().toURL());

} catch (MalformedURLException ex) {

} catch (IOException ex) {

}

}

4.2.9. Загрузка локального (из каталога готового jar-файла) rtf-файла в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка локального (из каталога готового jar-файла) rtf-файла в JEditorPane

jEditorPane1.setContentType("text/rtf");// Режим сложного оформления текста

jEditorPane1.setEditable(false); // Запрет на редактирование документа

URL urlToRtf = getClass().getClassLoader().getResource("mypackage/demo.rtf");

try { jEditorPane1.setPage(urlToRtf); } catch (IOException ex) {

}

}

4.2.10. Загрузка rtf-файла с текущего каталога в JEditorPane

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка rtf-файла с текущего каталога в JEditorPane

try { // Получаем полное имя RTF-файла в текущем каталоге

String FileName = new File(".").getAbsoluteFile().getParentFile().getAbsolutePath()

+ System.getProperty("file.separator") + "demo.rtf";

jEditorPane1.setContentType("text/rtf"); // Устанавливаем режим rtf-документов

jEditorPane1.setPage(new File(FileName).toURI().toURL()); // Загружаем RTF-документ

} catch (MalformedURLException ex) {

} catch (IOException ex) {

}

}

4.2.11. Запись данных из JEditorPane в rtf-файл текущего каталога

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Запись данных из JEditorPane в rtf-файл текущего каталога

try { // Получаем полное имя RTF-файла в текущем каталоге

String FileName = new File(".").getAbsoluteFile().getParentFile().getAbsolutePath()

+ System.getProperty("file.separator") + "demo.rtf";

// Считываем содержимое документа

Document doc = jEditorPane1.getDocument();

FileOutputStream out = new FileOutputStream(FileName);

RTFEditorKit rtf = new RTFEditorKit(); // Инструментарий работы с RTF

rtf.write(out, doc, 0, doc.getLength()); // Запись документа в rtf-файл на диск

} catch (IOException | BadLocationException ex) {

}

}

4.2.12. Очистка данных в JEditorPane

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// Очистка данных в JEditorPane

jEditorPane1.setText("");

}

4.2.13. Установка типа и размера шрифта по-умолчанию в jEditorPane для html и rtf-режимов

private void formWindowOpened(java.awt.event.WindowEvent evt) {

// Установка типа и размера шрифта по-умолчанию в jEditorPane

new StyledEditorKit.FontFamilyAction("Tahoma", "Tahoma").actionPerformed(null);

new StyledEditorKit.FontSizeAction("16", 16).actionPerformed(null);

}

4.2.14. Загрузка txt-файла в JEditorPane с помощью диалога выбора файла

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

// Загрузка txt-файла в JEditorPane с помощью диалога выбора файла

try {

JFileChooser fileopen = new JFileChooser(); // Создаем объект выбора файла

int ret = fileopen.showDialog(null, "Открыть файл"); // Вызываем диалог

if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход

File FileName = fileopen.getSelectedFile(); // Получение имени файла

// Открываем потоки чтения из файла

FileInputStream stream = new FileInputStream(FileName);

InputStreamReader reader = new InputStreamReader(stream);

BufferedReader buffered_reader = new BufferedReader(reader);

String txt = ""; String buf; // Инициализация переменных

// Загрузка текста из файла

while ((buf = buffered_reader.readLine()) != null) {

txt += buf + "\r\n";

}

jEditorPane1.setText(txt); // Установить считанный из файла текст в jEditorPane1

buffered_reader.close(); reader.close(); stream.close(); // Закрытие потоков чтения

} catch (FileNotFoundException ex) {

} catch (IOException ex) {

}

}

4.2.15. Сохранение текста из JEditorPane в txt-файл с помощью диалога

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// Сохранение текста из JEditorPane в txt-файл с помощью диалога выбора файла

try {

JFileChooser fileopen = new JFileChooser(); // Создаем объект выбора файла

int ret = fileopen.showDialog(null, "Сохранить файл"); // Вызываем диалог

if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход

File FileName = fileopen.getSelectedFile(); // Получение имени файла

// Считываем содержимое документа

PlainDocument doc = (PlainDocument) jEditorPane1.getDocument();

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(FileName));

String txt = doc.getText(0, doc.getLength()); // Считываем текст из jEditorPane1

out.write(txt); // Сохраняем текст в файл

out.close(); // Закрываем файл

} catch (IOException | BadLocationException ex) {

}

}

5. КОМПОНЕНТ «JPasswordField» (поле пароля)

JPasswordField представляет собой компонент для ввода пароля.

п/п

Свойство

Назначение

1.

editable

Разрешение редактировать текст

2.

font

Шрифт текста

3.

foreground

Цвет текста

4.

background

Цвет фона

5.

horizontalAlignment

Выравнивание текста по горизонтали

6.

opaque

Непрозрачность фона

7.

border

Рамка

8.

componentPopupMenu

Привязка компонента всплывающего меню

9.

caretColor

Цвет курсора

10.

cursor

Вид курсора

11.

disabledTextColor

Цвет текста при недоступности компонента

12.

enabled

Доступность компонента

13.

focusable

Разрешение фокуса ввода/работы с текстом

14.

selectedText

Выделенный текст

15.

selectedTextColor

Цвет выделенного текста

16.

selectionColor

Цвет фона выделенного текста

17.

toolTipText

Всплывающая подсказка над компонентом

18.

Высота

Высота компонента

19.

Ширина

Ширина компонента

 

п/п

Методы

Назначение

1.

getPassword()

получить пароль

5. 1. Пример работы с JPasswordField

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Получить введенный пароль из компонента JPasswordField

jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));

}

6.  КОМПОНЕНТ «JFormattedTextField» (форматируемое поле)

Класс JFormattedTextField представляет собой компонент для ввода текстового значения по заданному шаблону.

п/п

Свойство

Назначение

1.

text

Текстовое значение в компоненте

2.

formatterFactory

Шаблон для ввода данных

3.

editable

Разрешение редактировать текст

4.

font

Шрифт текста

5.

foreground

Цвет текста

6.

background

Цвет фона

7.

horizontalAlignment

Выравнивание текста по горизонтали

8.

opaque

Непрозрачность фона

9.

border

Рамка

10.

componentPopupMenu

Привязка компонента всплывающего меню

11.

caretColor

Цвет курсора

12.

cursor

Вид курсора

13.

disabledTextColor

Цвет текста при недоступности компонента

14.

enabled

Доступность компонента

15.

focusable

Разрешение фокуса ввода/работы с текстом

16.

selectedText

Выделенный текст

17.

selectedTextColor

Цвет выделенного текста

18.

selectionColor

Цвет фона выделенного текста

19.

toolTipText

Всплывающая подсказка над компонентом

20.

Высота

Высота компонента

21.

Ширина

Ширина компонента

 

п/п

Методы

Назначение

1.

getText()

Получить введенное значение с учетом шаблона

2.

getValue()

Получить введенное значение без учета шаблона

6.1. Шаблоны ввода (значение свойства formatterFactory) в JFormattedTextField

6.2. Примеры работы с JFormattedTextField

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Пример чтения данных с компонента JFormattedTextField

jTextField1.setText(jFormattedTextField1.getText()); // Получить введенное значение по шаблону

jTextField2.setText(jFormattedTextField1.getValue().toString());// Получить введенное значение

}